# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Brave Fencer Musashi Template

game: Brave Fencer Musashi
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.
  game:
    Brave Fencer Musashi: 0.2.5 # Version of the world required for this yaml to work as expected.

Brave Fencer Musashi:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  set_lang:
    # Select which language of items and locations to send to the multiworld (not the version of the game to be played)
    # en- English
    # jp- 日本語
    en: 50
    jp: 0

  spoiler_items_in_english:
    # Only considered if Set Language is JP (also is not saved to slot data)
    # Spoiler log shows progression with Japanese locations but English items
    'false': 0
    'true': 50

  goal:
    # Select which Goal in order to win this game of Brave Fencer Musashi
    # 
    # Rescue All NPCs - save all 35 Castle NPCs lost in the multiworld
    # Rescue [X] NPCs - save a portion of Castle NPCs, check 'NPCs Required to Goal' to adjust count
    # Defeat [ ] Guardian/Boss - Win after defeating the respective boss (listed in order of occurrence)
    rescue_all_npcs: 50
    rescue_x_npcs: 0
    defeat_earth_crest_guardian: 0
    defeat_water_crest_guardian: 0
    defeat_fire_crest_guardian: 0
    defeat_wind_crest_guardian: 0
    defeat_sky_crest_guardian: 0
    defeat_final_boss: 0

  npc_goal:
    # How many Castle NPCs will need to be rescued in order to goal. Only relevant when 'Rescue X NPCs' is set as the goal.
    # 10 - very very short playthrough possibly all in sphere 1 (<30 minutes solo)
    # 20 - short playthrough (1-3 hours solo)
    # 35 - same as rescue all NPCs (4-7 hours solo)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 35
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-35: 0 # random value between 10 and 35

  starting_hp:
    # Amount of max hp to start the game with (max hp will never go over 500)
    # Setting max hp to 1 will remove all max hp up from itempool (and disable deathlink)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 200
    150: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-200: 0 # random value between 1 and 200

  max_hp_logic:
    # Amount of max hp expected logically before going to Soda Fountain (ignored if starting max hp is 1)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 150
    # Maximum value is 500
    400: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-150-500: 0 # random value between 150 and 500

  lumina_randomzied:
    # Randomize the sword of legend
    'false': 50
    'true': 0

  bakery_sanity:
    # Randomize the bakery's list of items for sale into the multiworld
    'false': 50
    'true': 0

  restaurant_sanity:
    # Randomize the restaurant's list of items for sale into the multiworld
    'false': 50
    'true': 0

  grocery_sanity:
    # Randomize the grocery's list of items for sale into the multiworld
    'false': 50
    'true': 0

  grocery_s_revive:
    # Force S-Revive to always show up in the shop, collecting a S-Revive from the multiworld will give a price discount
    'false': 50
    'true': 0

  grocery_sanity_heal_logic:
    # Require either C-Drink or W-Gel logically before being required to defeat a Crest Guardian (only relevant when Grocery Sanity is 'true')
    'false': 0
    'true': 50

  toy_sanity:
    # Randomize the toy shop's list of items for sale into the multiworld, only includes Series 1 through 5 (Does not require Soda Fountain)
    'false': 50
    'true': 0

  tech_sanity:
    # Randomize the Weapon Techniques and Fusion upgrade into the multiworld
    'false': 50
    'true': 0

  scroll_sanity:
    # Randomize the Five Legendary Scrolls into the multiworld
    'false': 50
    'true': 0

  sky_scroll_logic:
    # Only Considered when Scroll Sanity is On. Changes what is considered in logic when Sky Scroll is available
    # 
    # Vanilla - Sky Scroll is not considered, some easy to reach checks may show as out of logic
    # Simple - Sky Scroll maybe expected to be used to cross gaps or go up a certain slope
    # Complex - Sky Scroll maybe expected to be used to access areas early or out of order (may expect player to softlock if needed to reach a location [Save often])
    vanilla: 50
    simple: 0
    complex: 0

  core_sanity:
    # Randomize the first four elemental Boss Cores needed to activate the elemental crests into the multiworld
    'false': 50
    'true': 0

  level_sanity:
    # Randomize the stats gained from leveling into the multiworld
    'false': 50
    'true': 0

  level_bundles:
    # Number of bundles to receive lvl 30 stats (Body, Mind, Fusion, Lumina)
    # Lowering number bundles will leave more room for Traps/Filler
    # Only active if Level Sanity is True
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 29
    29: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-29: 0 # random value between 1 and 29

  stat_gain_modifier:
    # change how stats are gained
    # Early - Most stats are gained in the first couple bundles (maybe better for shorter goals)
    # Vanilla - Stats are gained roughly the same rate as the base game
    # Enhanced - Stats start similar to Vanilla but dramatically increase after receiving half of the stat up bundles (may make Wind Crest Guardian and path to Sky Crest Guardian easier)
    # Only active if Level Sanity is True
    early: 0
    vanilla: 50
    enhanced: 0

  xp_gain:
    # Amount to multiply XP receieved, higher multiplier is faster leveling. Leveling may be required for progression so it is recommended to have increased XP gain.
    # No XP Gain - Challenge run modifier (level 1 the entire game), checks for leveling are removed (if enabled)
    no_xp_gain: 0
    quarter: 0
    half: 0
    vanilla: 0
    double: 0
    quadruple: 50
    ten_fold: 0
    one_hundred_fold: 0

  xp_gain_mind:
    # Amount to multiply XP receieved for Mind, higher multiplier is faster leveling. Mind is gained by taking steps which can be a slow process to get to max level. Consider a high XP gain overall or at least a higher xp gain for Mind
    # defaults to the same multiplier chosen in xp_gain
    same_as_above: 50
    half: 0
    vanilla: 0
    double: 0
    quadruple: 0
    ten_fold: 0
    one_hundred_fold: 0

  early_skullpion:
    # Add the NPCs required for Skullpion, Lumina (if randomized), and Bracelet to the early generation (Will likely place in Sphere 1, this setting is only recommended for multiworld generations to avoid being stuck in chapter 2)
    'false': 50
    'true': 0

  boulder_chase_zoom:
    # slightly change zoom level during Chapter 1 boulder chase sequence
    tight: 0
    vanilla: 50
    wide: 0

  leno_sniff_modifier:
    # Modify how long Leno spends sniffing when attempting to find the path to the graveyard
    # 10 -> 10% of the vanilla time
    # 100 -> 100% vanilla
    # 200 -> 200% spend twice the time
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 200
    80: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-200: 0 # random value between 10 and 200

  skip_minigame_follow_leno:
    # Skip over the minigame follow Leno through meandering forest to get to the graveyard
    # Going into meandering forest with Leno will instead take you directly to the graveyard
    'false': 50
    'true': 0

  raft_hp:
    # How many logs to start with when doing the rafting minigame
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 4
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-4: 0 # random value between 1 and 4

  raft_difficulty:
    # Adjust the difficulty for the rafting minigame
    # Vanilla - No adjustments
    # Invincible - Never lose logs
    # Regrow Logs - Regain logs after a period of time
    vanilla: 50
    invincible: 0
    regrow_logs: 0

  raft_regrow:
    # Time before regrowing a log during rafting (needs difficulty set to regrow logs to work)
    # # -> time in seconds before regrowing a log
    # logs that are regained are currently invisible
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 50
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-50: 0 # random value between 1 and 50

  steamwood_timer:
    # Modify how fast the 24 hour timer for Steamwood ticks down (both first and second visit)
    # 1 -> 1% of the vanilla time (roughly IRL time)
    # 100 -> 100% vanilla
    # 150 -> 150% timer ticks down 50% faster
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 150
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-150: 0 # random value between 1 and 150

  steamwood_valve_timer:
    # Modify the starting timer inbetween valves for Steamwood ticks down (both first and second visit)
    # 90 -> 90% of the vanilla time to complete the next valve (harder)
    # 100 -> 100% vanilla
    # 165 -> 165% timer starts 65% higher
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 90
    # Maximum value is 165
    130: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-90-165: 0 # random value between 90 and 165

  steamwood_disable_countdown:
    # Whether to disable the countdown for the inbetween valve timer
    'false': 50
    'true': 0

  steamwood_number_valves:
    # The number of valves to be closed to finish steamwood. In the vanilla game you need to complete all 8 but reducing this number will skip over numbers
    # If set to 1 only valve 8 will need to be completed, otherwise starts on valve 1 and finishes on valve 8
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 8
    8: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-8: 0 # random value between 1 and 8

  steamwood_random_valves:
    # Whether to randomize valve order or not. Randomized on entering steamwood. The lowest number valve that has a red light is the next valve to be completed.
    'false': 50
    'true': 0

  steamwood_pressure_rise_rate:
    # Adjust the rate of pressure gain on some valves
    # Vanilla - No adjustments
    # Faster - Valves 1 through 4 will have the same pressure rise as vanilla valve 5
    # Slower - Valves 5 through 8 will have slightly lower pressure rise
    # Even - All valves have the same pressure rise as vanilla valve 4
    vanilla: 0
    faster: 0
    slower: 0
    even: 50

  steamwood_progress_lost:
    # The amount of progress lost when confirming while in the red range
    # -96 -> all progress lost
    # -16 -> vanilla progress lost
    # >0 -> gain progress instead
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -96
    # Maximum value is 8
    -8: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range--96-8: 0 # random value between -96 and 8

  steamwood_width_of_ok_pressure:
    # The width in pixels of acceptable range for pressure
    # 10 - slightly narrower acceptable range
    # 12 - vanilla
    # 96 - the entire range is green
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 96
    18: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-96: 0 # random value between 10 and 96

  steamwood_valve_progress_modifier:
    # Modify the amount of progressed gained when selecting within the acceptable pressure range
    # 50 -> 50% gain half progress when succeeding
    # 100 -> 100% vanilla
    # 200 -> 200% gain double progress when succeeding
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 200
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-200: 0 # random value between 50 and 200

  steamwood_no_fail_over_pressure:
    # Vanilla overpressure resets bar to 0, if enabled will keep pressure level within acceptable levels 
    # effectively making it have no failure state after letting pressure rise
    'false': 50
    'true': 0

  steamwood_elevator_logic:
    # Adjust the logic for the elevator
    # Vanilla - No adjustments
    # Patient - Elevator will wait until you step on it before proceeding to the next floor (may need to cycle up and down first)
    # Troll - Elevator will wait until you step on it before proceeding downwards (may need to cycle up and down first)
    vanilla: 0
    patient: 50
    troll: 0

  aqualin_timer:
    # Modify how fast the 12 hour timer for collecting Aqualin ticks down
    # 1 -> 1% of the vanilla time (roughly IRL time)
    # 100 -> 100% vanilla
    # 150 -> 150% timer ticks down 50% faster
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 150
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-150: 0 # random value between 1 and 150

  restaurant_teleport_maze_no_fail:
    # Vanilla logic for picking the wrong teleporter is to send Musashi back to the start or much earlier part of the dungeon
    # Enabling this makes picking the wrong teleport send Musashi back to the start of the same room until the correct teleport is selected
    'false': 0
    'true': 50

  church_fight_time_modifier:
    # Modify how fast the day timer progresses during the church fight
    # 50 -> 50% time progresses at half speed
    # 100 -> 100% vanilla
    # 600 -> 600% time progresses 6x faster than vanilla (may still need to move to not lose)
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 600
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-600: 0 # random value between 50 and 600

  skip_minigame_town_on_fire:
    # Skip over the minigame to extinguish the town's fire with water scroll
    'false': 50
    'true': 0

  skip_to_frost_palace:
    # If enabled, after reaching Frost Palace for the first time, Musashi can skip Meandering Forest Maze by going up on the first screen to get to Frost Palace
    'false': 0
    'true': 50

  skip_minigame_ant_gondola:
    # Skip over the minigame to get through the mines to reach the Wind Crest Guardian (still need to turn on the power and hop in the basket)
    'false': 50
    'true': 0

  skip_over_calendar_maze:
    # If enabled, skip over the rotating door maze in Soda Fountain where Musashi needs to reference the calendar to find the right path (loading a save might still bring you to the begining of the maze)
    'false': 50
    'true': 0

  topo_dance_battle_logic:
    # Adjust the logic the pattern used by Topo
    # Vanilla - No adjustments
    # Simple - Easy pattern that is just clockwise or counter-clockwise
    # Random - A completely random sequence will be generated on entering room
    vanilla: 50
    simple: 0
    randomly: 0

  soda_fountain_boss_rush:
    # If enabled, skip over all areas that are not a boss fight (no extra healing from chests or enemy drops)
    # cutscene intro -> Ben Fight -> Ed Fight -> Topo Fight? -> ToD -> DL
    # don't mash through cutscene or it wont apply the fix to connect to Ben
    'false': 50
    'true': 0

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  fast_walk:
    # Hold L1 to go super fast (while on solid ground)
    'false': 50
    'true': 0

  hair_color_selection:
    # Pick Hair Color, or choose custom for further customization
    custom: 0
    white: 50
    red: 0
    blue: 0
    green: 0
    orange: 0
    pink: 0
    yellow: 0

  custom_hair_color_selection:
    # Must select custom from hair color, write hex code of desired color in the format RRGGBB (see https://www.color-hex.com/ for assistance) do not include # must be exactly 6 digits and a valid hex code i.e. 0 through F values only
    B751A7: 50

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
